package cn.wolfcode.feign;

import cn.wolfcode.common.web.Result;
import cn.wolfcode.domain.Product;
import cn.wolfcode.feign.fallback.ProductFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

// 这里有一个需要考虑的点是，远程调用的错误返回是一个Result-》 所以需要设计一个兜底数据
@FeignClient(name = "product-service",fallback = ProductFallback.class)
public interface ProductFeignApi {
    @GetMapping ("/product/queryByIds")
    Result<List<Product>> queryByIds(@RequestParam("productIds") List<Long> productIds);
}
